Data Warehouse
Concepto
Un DW es una gran base de datos con datos históricos y relevantes para una empresa que se almacenan para un posterior análisis. Un DW almacena todos los datos guardados en las BD operacionales y todas las BD externas de forma ordenada y multidimensional (generalmente, ya que esta manera es más eficaz para consultar los datos).
La principal función de los DW es servir como input para herramientas como OLAP o Data Mining que son los que convierten los datos almacenados en el DW en información relevante para la toma de decisiones.
Características
- Orientada a la información relevante para la organización
- Integradora (ya que integra todas las DB utilizadas por la organización)
- Incremental (ya que se agregan datos a medida que pasa el tiempo)
- No volátil (ya que no se borran ni modifican los datos históricos)
Modelo multidimensional
La DB se divide en una tabla de actividad y en varias tablas de dimensiones. La primera contiene el hecho y un conjunto de indicadores (el objeto del análisis). La segunda contiene un conjunto de atributos que representan a la dimensión (puntos de vista de análisis del objeto).
Esquema estrella vs Esquema snowflake
Estrella
Snowflake
Una tabla de hechos y varias tablas de dimensiones no normalizadas
Una tabla de hechos y varias tablas de dimensiones normalizadas
La tabla de hechos tiene varias claves primarias, mientras que las tablas de dimensiones tienen una sola clave primaria
La tabla de hechos tiene varias claves primarias, mientras que las tablas de dimensiones tienen una sola clave primaria
Más simples ya que no tienen que hacer tantos JOINs
Más complejas ya que tienen que hacer varios JOINs
Mayor espacio utilizado gracias a la redundancia de datos por no normalizar
Menor espacio usado gracias a la reducción de redundancia de datos por normalizar
Mayor rendimiento por no normalizar
Menor rendimiento por normalizar
OLTP (On-Line Transaction Processing)
OLTP son un conjunto de herramientas o aplicaciones para la entrada y recuperación de datos y para el procesamiento de transacciones de forma eficaz y eficiente.
Por ejemplo, un cajero es un OLTP.
OLAP (On-Line Analytical Processing)
OLAP son un conjunto de herramientas o aplicaciones para la consulta de grandes cantidades de datos de forma clara, sencilla, rápida e interactiva. Es decir, se enfoca en la aplicación de business intelligence.
Lo que hacen los OLAPs es obtener datos de los DW o DM y presentarlos multidimensionalmente de forma comprensible y usable para toda aquella persona que quiere tomar una decisión en base a la información histórica (ya que permite al usuario seleccionar una serie de atributos para analizar un hecho).
Lo que hacen los OLAPs es permitirle al usuario ingresar los atributos para analizar un hecho en particular dentro de una interfaz usable, comprensible y sencilla. Después mapean esa consulta a SQL y consultan al DW. Por último, le presentan de forma clara la respuesta al usuario.
Por ejemplo: cantidad total de unidades vendidas por año en los últimos cinco años del producto lapicera en toda Latinoamérica (hechos (FROM): ventas, métricas (SELECT): unidades vendidas, parámetros (GROUP BY): año, restricciones (HAVING o WHERE): últimos cinco años, Latinoamérica).
- Drill: agregar un nuevo parámetro (por ejemplo, marca)
- Roll: sacar un parámetro (por ejemplo, año)
- Pivot: reorientar dimensiones
- Slice: seleccionar un subconjunto de los datos